一、环境准备
1、清理环境中系统自带的MySQL
(1)删除系统自带的MySQL或Mariadb
yum remove mysql-libs
(2)查询系统中是否还有残余的依赖包
rpm -qa | grep mariadb
(3)删除rpm依赖包
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
2依赖包下载
注:请按照自己的实际需求进行包管理
(1)安装所有的开发工具包
yum groupinstall -y "Development tools"
(2)安装其它的必需包
yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel
二、MySQL8安装
1、在官网上下载rpm包管理文件
wget https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm
2、本地安装mysql
yum localinstall mysql80-community-release-el7-1.noarch.rpm
3、查询是否能连接上MySQL仓库
yum repolist enabled | grep "mysql.*-community.*"
4、安装MySQL服务
yum install mysql-community-server
三、MySQL配置
1、开启兼容MySQL8之前版本
vim /etc/my.cnf
default-authentication-plugin=mysql_native_password
2、修改MySQL默认初始密码
(1)查询MySQL默认初始密码
grep 'temporary password' /var/log/mysqld.log
(2)登录MySQL
mysql -u root -p
(3)输入查询显示的密码
(4)修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Welcome_1';
(5)刷新系统权限列表
flush privileges;
(6)重新登录
3、远程登录授权
use mysql;
select user,host from user;
update user set host = '%' where user = 'root';
4、防火墙开启3306与22端口
3306 MySQL默认端口
22 SSH访问端口
5、密码策略
(1)查看MySQL密码策略
show variables like '%validate%';
(2)设置简单密码
注:global配置全局 相当于更改配置文件my.cnf
set global validate_password.policy=0;
set global validate_password.length=6;
set global validate_password.mixed_case_count=0;
set global validate_password.number_count=0;
set global validate_password.special_char_count=0;
flush privileges;
(3)修改密码
mysql> alter user 'root'@'%' IDENTIFIED BY '密码';
6、默认字符集修改
(1)查看MySQL密码策略
show variables like '%character%';
(2)my.cnf配置文件修改
[mysqld]
init_connect='set collation_connection = utf8_general_ci'
init_connect='set collation_database=utf8_general_ci'
init_connect='set names utf8'
init_connect='set character_set_connection=utf8'
character-set-server=utf8
collation-server=utf8_general_ci
skip-character-set-client-handshake
四、MySQL启动
1、启动MySQL服务
systemctl start mysqld
2、查看MySQL服务状态
systemctl status mysqld
3、开机自启
systemctl enable mysqld.service
4、重启MySQL服务
systemctl restart mysqld;
五、注意事项
1、以上操作均为root用户
2、ERROR 1819 (HY000)
mysql5.7默认安装了密码安全检查插件(validate_password)
默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。
3、新设置用户或更改密码后需用flush privileges刷新MySQL的系统权限相关表,否则会出现拒绝访问
flush privileges;
4、如果是阿里云等云服务器 需要在安全设置访问管理中 开启3306端口访问
5、如果使用Xshell连接访问22号端口 使用Xftp请使用SFTP协议访问22号端口
6、配置字符集编码时请使用“utf8_general_ci”而非“utf8_unicode_ci”
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。